Aspects of this disclosure generally relate to the field of distributed storage, and, more particularly, to an architecture for synchronizing data across distributed storage.
Whether maintaining customer data or their own data, businesses demand always available or highly available data and protection of that data. To support these demands, data often resides across multiple storage systems in multiple sites that are often great distances apart. One of the reasons these sites are great distances apart is to avoid a single catastrophe impacting data availability. Metrics used to define the availability requirements include recovery point objective (RPO) and recovery time objective (RTO). A business specifies an RTO as the maximum amount of time that the business tolerates lack of access to the business' data. A business specifies an RPO as the amount of data in terms of time that can be lost due to an interruption. For instance, a business can specify an RTO as 15 seconds. In other words, the business will accept at most 15 seconds from the time of a service interruption or failure to the time of full recovery of their systems. For an RPO, a business can specify 5 seconds. That means that the business will not accept losing any more than the data written (e.g., new writes, updates, etc.) in the 5 seconds that precede a failure or interruption.
Storage features to support the availability and protection demands of businesses across storage systems have been given various names, such as snapshotting, mirroring, cloning, and replicating. Each of these storage features can also vary by the provider of the storage feature and/or storage product. Despite the variations, each storage feature provides a consistent view of a business' data.